package org.devocean.groupbuying.dao;

import java.util.List;

import org.devocean.groupbuying.domain.Explored;

public interface ExploredDAO {

	List<Explored> findAllExploreds();

	List<Explored> findAllExploreds(String lang);

	long countExploreds();

	long countExploreds(String lang);

	List<Explored> findExploredsEntries(int firstResult, int maxResults);

	List<Explored> findExploredsEntries(String lang, int firstResult,
			int maxResults);

	List<Explored> findExploredsEntries(String lang, int firstResult,
			int maxResults, Integer categorie);

	List<Explored> findExploredsEntriesByDate(String lang, int firstResult,
			int maxResults, String order);

	List<Explored> findExploredsEntriesByCateg(String lang, int firstResult,
			int maxResults, String order);

	List<Explored> findExploredsEntriesByRating(String lang, int firstResult,
			int maxResults, String order);

	List<Explored> findExploredsEntriesByTitle(String lang, int firstResult,
			int maxResults, String order);

	List<Explored> findExploredsEntriesWithDeals(String lang, int firstResult,
			int maxResults, String order);

	Explored findExploredById(int id);

	Explored findExploredById(String lang, int id);

	Explored findExploredByProduct(Integer productID);

	void deleteExplored(int id);

	List<Explored> verifyExplored();

	Explored saveExplored(Explored explored);

	Explored updateExplored(Explored explored);
	
	public List<Explored> findExploredByMerchants(Integer merchantID,String lang);

}
